 /* Copyright 2018 JDCLOUD.COM

Licensed under the Apache License, Version 2.0 (the "License");
you may not use this file except in compliance with the License.
You may obtain a copy of the License at

http:#www.apache.org/licenses/LICENSE-2.0

Unless required by applicable law or agreed to in writing, software
distributed under the License is distributed on an "AS IS" BASIS,
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
See the License for the specific language governing permissions and
limitations under the License.

云流水线
云流水线API

OpenAPI spec version: v1
Contact: 

NOTE: This class is auto generated by the jdcloud code generator program.
*/


#import <Foundation/Foundation.h>
#import <JDCloudOCSDKPipeline/PipelineExecutor.h>

@implementation PipelineClient

@synthesize userAgent = _userAgent;
@synthesize serviceName = _serviceName;
@synthesize version = _version;

-(void) addCustomerHeaderWithKey:(NSString*) key
                           value:(NSString*) value{
    if(![self customHeader])
    {
        self.customHeader = [[NSMutableDictionary alloc] init];
    }
    if(key && value)
    {
        [[self customHeader] setValue:value forKey:key];
    }
   
}

-(id)initWithGlobalConfig{
    if(![GlobalConfig credential])
    {
        NSException *e = [SDKArgumentNullException exceptionWithName:@"ArgumentNullException" reason:@"GlobalConfig credential not config" userInfo:nil];
        @throw e;
    }
    self.credential = [GlobalConfig credential];
    if(![GlobalConfig sdkEnvironment])
    {
        self.sdkEnvironment = [[SDKEnvironment alloc] initWithEndPoint:@"pipeline.jdcloud-api.com"];
    }else
    {
        self.sdkEnvironment = [GlobalConfig sdkEnvironment];
    }
    self.httpRequestProtocol = @"https";
    _userAgent = @"JdCloudOCSdk 0.0.1 pipeline  v1";
    _serviceName = @"pipeline";
    _version = @"v1";
    self.contentType = @"application/json";
    return self;
}

-(id)initWithCredential:(Credential*)credential
         sdkEnvironment:(SDKEnvironment*)sdkEnvironment
{
    if(!credential)
    {
        NSException *e = [SDKArgumentNullException exceptionWithName:@"ArgumentNullException" reason:@" credential can not null" userInfo:nil];
        @throw e;
    }else{
        self.credential = credential;
    }
    
    if(!sdkEnvironment)
    {
        NSException *e = [SDKArgumentNullException exceptionWithName:@"ArgumentNullException" reason:@" sdkEnvironment can not null" userInfo:nil];
        @throw e;
    }else{
        self.sdkEnvironment = sdkEnvironment;
    }
    self.httpRequestProtocol = @"https";
    _userAgent = @"JdCloudOCSdk 0.0.1 pipeline  v1";
    _serviceName = @"pipeline";
    _version = @"v1";
    self.contentType = @"application/json";
    return self;
}

-(id)initWithCredential:(Credential*)credential
{
    if(!credential)
    {
        NSException *e = [SDKArgumentNullException exceptionWithName:@"ArgumentNullException" reason:@" credential can not null" userInfo:nil];
        @throw e;
    }else{
        self.credential = credential;
    }
    if(![GlobalConfig sdkEnvironment])
    {
        self.sdkEnvironment = [[SDKEnvironment alloc] initWithEndPoint:@"pipeline.jdcloud-api.com"];
    }else
    {
        self.sdkEnvironment = [GlobalConfig sdkEnvironment];
    }
    self.httpRequestProtocol = @"https";
    _userAgent = @"JdCloudOCSdk 0.0.1 pipeline  v1";
    _serviceName = @"pipeline";
    _version = @"v1";
    self.contentType = @"application/json";
    return self;
}

-(id)init{
    self.httpRequestProtocol = @"https";
    _userAgent = @"JdCloudOCSdk 0.0.1 pipeline  v1";
    _serviceName = @"pipeline";
    _version = @"v1";
    self.contentType = @"application/json";
    return self;
}


/**
getPipelines sync request
@param getPipelinesRequest request param
@return key `statusCode` http request status code type is int
            `dataResult` the http request response data  type is NSData
            `requestError` the request error type is NSError
            `getPipelinesResponse` the request response data model
*/
-(NSDictionary*) getPipelinesSyncWithRequest:(PipelineGetPipelinesRequest*) getPipelinesRequest
{
PipelineGetPipelinesExecutor* excutor = [[PipelineGetPipelinesExecutor alloc] initWithJDCloudClient:self];
    NSDictionary* responseResult = [excutor executeSync:getPipelinesRequest];
    if(responseResult)
    {
        NSData * resultData = [[responseResult objectForKey:@"dataResult"] copy];
        if(resultData)
        {
            NSMutableDictionary* result = [[NSMutableDictionary alloc]initWithDictionary:responseResult];
            
            NSError *jsonError;
            NSDictionary* allKeys = [NSJSONSerialization JSONObjectWithData:resultData options:0 error:&jsonError];
            if(!jsonError&& allKeys)
            {
                @try {
                    PipelineGetPipelinesResponse* response = [[PipelineGetPipelinesResponse alloc]initWithDic:allKeys];
                    if(response)
                    {
                        [result setValue:response forKey:@"getPipelinesResponse"];
                        return result;
                    }
                } @catch (NSException *exception) {
                    if([GlobalConfig isDebug]){
                        NSLog(@"json serialize response data error,info is %@",exception.reason);
                    }
                }
            }
        }
    }
    return responseResult;
}


-(void)getPipelinesAsyncWithRequest:(PipelineGetPipelinesRequest*) getPipelinesRequest
                       completionHandler:(void(^)(int statusCode,PipelineGetPipelinesResponse* _Nullable getPipelinesResponse, NSData* _Nullable responseData,NSError * _Nullable error))completionHandler
{
PipelineGetPipelinesExecutor* excutor = [[PipelineGetPipelinesExecutor alloc] initWithJDCloudClient:self];
    [excutor executeAsync:getPipelinesRequest completionHandler:^(int statusCode, NSData * _Nullable responseData, NSError * _Nullable error) {
        if(!error&&responseData)
        {
            NSData * resultData = [responseData copy];
            NSError *jsonError;
            NSDictionary* allKeys = [NSJSONSerialization JSONObjectWithData:resultData options:0 error:&jsonError];
            if(!jsonError&& allKeys)
            {
                @try {
                    PipelineGetPipelinesResponse* response = [[PipelineGetPipelinesResponse alloc]initWithDic:allKeys];
                    if(response)
                    {
                        completionHandler(statusCode,response,responseData,error);
                        return;
                    }
                } @catch (NSException *exception) {
                    if([GlobalConfig isDebug]){
                        NSLog(@"json serialize response data error,info is %@",exception.reason);
                    }
                }
            }
        }
        completionHandler(statusCode,nil,responseData,error);
    }];
}

/**
startPipeline sync request
@param startPipelineRequest request param
@return key `statusCode` http request status code type is int
            `dataResult` the http request response data  type is NSData
            `requestError` the request error type is NSError
            `startPipelineResponse` the request response data model
*/
-(NSDictionary*) startPipelineSyncWithRequest:(PipelineStartPipelineRequest*) startPipelineRequest
{
PipelineStartPipelineExecutor* excutor = [[PipelineStartPipelineExecutor alloc] initWithJDCloudClient:self];
    NSDictionary* responseResult = [excutor executeSync:startPipelineRequest];
    if(responseResult)
    {
        NSData * resultData = [[responseResult objectForKey:@"dataResult"] copy];
        if(resultData)
        {
            NSMutableDictionary* result = [[NSMutableDictionary alloc]initWithDictionary:responseResult];
            
            NSError *jsonError;
            NSDictionary* allKeys = [NSJSONSerialization JSONObjectWithData:resultData options:0 error:&jsonError];
            if(!jsonError&& allKeys)
            {
                @try {
                    PipelineStartPipelineResponse* response = [[PipelineStartPipelineResponse alloc]initWithDic:allKeys];
                    if(response)
                    {
                        [result setValue:response forKey:@"startPipelineResponse"];
                        return result;
                    }
                } @catch (NSException *exception) {
                    if([GlobalConfig isDebug]){
                        NSLog(@"json serialize response data error,info is %@",exception.reason);
                    }
                }
            }
        }
    }
    return responseResult;
}


-(void)startPipelineAsyncWithRequest:(PipelineStartPipelineRequest*) startPipelineRequest
                       completionHandler:(void(^)(int statusCode,PipelineStartPipelineResponse* _Nullable startPipelineResponse, NSData* _Nullable responseData,NSError * _Nullable error))completionHandler
{
PipelineStartPipelineExecutor* excutor = [[PipelineStartPipelineExecutor alloc] initWithJDCloudClient:self];
    [excutor executeAsync:startPipelineRequest completionHandler:^(int statusCode, NSData * _Nullable responseData, NSError * _Nullable error) {
        if(!error&&responseData)
        {
            NSData * resultData = [responseData copy];
            NSError *jsonError;
            NSDictionary* allKeys = [NSJSONSerialization JSONObjectWithData:resultData options:0 error:&jsonError];
            if(!jsonError&& allKeys)
            {
                @try {
                    PipelineStartPipelineResponse* response = [[PipelineStartPipelineResponse alloc]initWithDic:allKeys];
                    if(response)
                    {
                        completionHandler(statusCode,response,responseData,error);
                        return;
                    }
                } @catch (NSException *exception) {
                    if([GlobalConfig isDebug]){
                        NSLog(@"json serialize response data error,info is %@",exception.reason);
                    }
                }
            }
        }
        completionHandler(statusCode,nil,responseData,error);
    }];
}

/**
createPipeline sync request
@param createPipelineRequest request param
@return key `statusCode` http request status code type is int
            `dataResult` the http request response data  type is NSData
            `requestError` the request error type is NSError
            `createPipelineResponse` the request response data model
*/
-(NSDictionary*) createPipelineSyncWithRequest:(PipelineCreatePipelineRequest*) createPipelineRequest
{
PipelineCreatePipelineExecutor* excutor = [[PipelineCreatePipelineExecutor alloc] initWithJDCloudClient:self];
    NSDictionary* responseResult = [excutor executeSync:createPipelineRequest];
    if(responseResult)
    {
        NSData * resultData = [[responseResult objectForKey:@"dataResult"] copy];
        if(resultData)
        {
            NSMutableDictionary* result = [[NSMutableDictionary alloc]initWithDictionary:responseResult];
            
            NSError *jsonError;
            NSDictionary* allKeys = [NSJSONSerialization JSONObjectWithData:resultData options:0 error:&jsonError];
            if(!jsonError&& allKeys)
            {
                @try {
                    PipelineCreatePipelineResponse* response = [[PipelineCreatePipelineResponse alloc]initWithDic:allKeys];
                    if(response)
                    {
                        [result setValue:response forKey:@"createPipelineResponse"];
                        return result;
                    }
                } @catch (NSException *exception) {
                    if([GlobalConfig isDebug]){
                        NSLog(@"json serialize response data error,info is %@",exception.reason);
                    }
                }
            }
        }
    }
    return responseResult;
}


-(void)createPipelineAsyncWithRequest:(PipelineCreatePipelineRequest*) createPipelineRequest
                       completionHandler:(void(^)(int statusCode,PipelineCreatePipelineResponse* _Nullable createPipelineResponse, NSData* _Nullable responseData,NSError * _Nullable error))completionHandler
{
PipelineCreatePipelineExecutor* excutor = [[PipelineCreatePipelineExecutor alloc] initWithJDCloudClient:self];
    [excutor executeAsync:createPipelineRequest completionHandler:^(int statusCode, NSData * _Nullable responseData, NSError * _Nullable error) {
        if(!error&&responseData)
        {
            NSData * resultData = [responseData copy];
            NSError *jsonError;
            NSDictionary* allKeys = [NSJSONSerialization JSONObjectWithData:resultData options:0 error:&jsonError];
            if(!jsonError&& allKeys)
            {
                @try {
                    PipelineCreatePipelineResponse* response = [[PipelineCreatePipelineResponse alloc]initWithDic:allKeys];
                    if(response)
                    {
                        completionHandler(statusCode,response,responseData,error);
                        return;
                    }
                } @catch (NSException *exception) {
                    if([GlobalConfig isDebug]){
                        NSLog(@"json serialize response data error,info is %@",exception.reason);
                    }
                }
            }
        }
        completionHandler(statusCode,nil,responseData,error);
    }];
}

/**
updatePipeline sync request
@param updatePipelineRequest request param
@return key `statusCode` http request status code type is int
            `dataResult` the http request response data  type is NSData
            `requestError` the request error type is NSError
            `updatePipelineResponse` the request response data model
*/
-(NSDictionary*) updatePipelineSyncWithRequest:(PipelineUpdatePipelineRequest*) updatePipelineRequest
{
PipelineUpdatePipelineExecutor* excutor = [[PipelineUpdatePipelineExecutor alloc] initWithJDCloudClient:self];
    NSDictionary* responseResult = [excutor executeSync:updatePipelineRequest];
    if(responseResult)
    {
        NSData * resultData = [[responseResult objectForKey:@"dataResult"] copy];
        if(resultData)
        {
            NSMutableDictionary* result = [[NSMutableDictionary alloc]initWithDictionary:responseResult];
            
            NSError *jsonError;
            NSDictionary* allKeys = [NSJSONSerialization JSONObjectWithData:resultData options:0 error:&jsonError];
            if(!jsonError&& allKeys)
            {
                @try {
                    PipelineUpdatePipelineResponse* response = [[PipelineUpdatePipelineResponse alloc]initWithDic:allKeys];
                    if(response)
                    {
                        [result setValue:response forKey:@"updatePipelineResponse"];
                        return result;
                    }
                } @catch (NSException *exception) {
                    if([GlobalConfig isDebug]){
                        NSLog(@"json serialize response data error,info is %@",exception.reason);
                    }
                }
            }
        }
    }
    return responseResult;
}


-(void)updatePipelineAsyncWithRequest:(PipelineUpdatePipelineRequest*) updatePipelineRequest
                       completionHandler:(void(^)(int statusCode,PipelineUpdatePipelineResponse* _Nullable updatePipelineResponse, NSData* _Nullable responseData,NSError * _Nullable error))completionHandler
{
PipelineUpdatePipelineExecutor* excutor = [[PipelineUpdatePipelineExecutor alloc] initWithJDCloudClient:self];
    [excutor executeAsync:updatePipelineRequest completionHandler:^(int statusCode, NSData * _Nullable responseData, NSError * _Nullable error) {
        if(!error&&responseData)
        {
            NSData * resultData = [responseData copy];
            NSError *jsonError;
            NSDictionary* allKeys = [NSJSONSerialization JSONObjectWithData:resultData options:0 error:&jsonError];
            if(!jsonError&& allKeys)
            {
                @try {
                    PipelineUpdatePipelineResponse* response = [[PipelineUpdatePipelineResponse alloc]initWithDic:allKeys];
                    if(response)
                    {
                        completionHandler(statusCode,response,responseData,error);
                        return;
                    }
                } @catch (NSException *exception) {
                    if([GlobalConfig isDebug]){
                        NSLog(@"json serialize response data error,info is %@",exception.reason);
                    }
                }
            }
        }
        completionHandler(statusCode,nil,responseData,error);
    }];
}

/**
readFile sync request
@param readFileRequest request param
@return key `statusCode` http request status code type is int
            `dataResult` the http request response data  type is NSData
            `requestError` the request error type is NSError
            `readFileResponse` the request response data model
*/
-(NSDictionary*) readFileSyncWithRequest:(PipelineReadFileRequest*) readFileRequest
{
PipelineReadFileExecutor* excutor = [[PipelineReadFileExecutor alloc] initWithJDCloudClient:self];
    NSDictionary* responseResult = [excutor executeSync:readFileRequest];
    if(responseResult)
    {
        NSData * resultData = [[responseResult objectForKey:@"dataResult"] copy];
        if(resultData)
        {
            NSMutableDictionary* result = [[NSMutableDictionary alloc]initWithDictionary:responseResult];
            
            NSError *jsonError;
            NSDictionary* allKeys = [NSJSONSerialization JSONObjectWithData:resultData options:0 error:&jsonError];
            if(!jsonError&& allKeys)
            {
                @try {
                    PipelineReadFileResponse* response = [[PipelineReadFileResponse alloc]initWithDic:allKeys];
                    if(response)
                    {
                        [result setValue:response forKey:@"readFileResponse"];
                        return result;
                    }
                } @catch (NSException *exception) {
                    if([GlobalConfig isDebug]){
                        NSLog(@"json serialize response data error,info is %@",exception.reason);
                    }
                }
            }
        }
    }
    return responseResult;
}


-(void)readFileAsyncWithRequest:(PipelineReadFileRequest*) readFileRequest
                       completionHandler:(void(^)(int statusCode,PipelineReadFileResponse* _Nullable readFileResponse, NSData* _Nullable responseData,NSError * _Nullable error))completionHandler
{
PipelineReadFileExecutor* excutor = [[PipelineReadFileExecutor alloc] initWithJDCloudClient:self];
    [excutor executeAsync:readFileRequest completionHandler:^(int statusCode, NSData * _Nullable responseData, NSError * _Nullable error) {
        if(!error&&responseData)
        {
            NSData * resultData = [responseData copy];
            NSError *jsonError;
            NSDictionary* allKeys = [NSJSONSerialization JSONObjectWithData:resultData options:0 error:&jsonError];
            if(!jsonError&& allKeys)
            {
                @try {
                    PipelineReadFileResponse* response = [[PipelineReadFileResponse alloc]initWithDic:allKeys];
                    if(response)
                    {
                        completionHandler(statusCode,response,responseData,error);
                        return;
                    }
                } @catch (NSException *exception) {
                    if([GlobalConfig isDebug]){
                        NSLog(@"json serialize response data error,info is %@",exception.reason);
                    }
                }
            }
        }
        completionHandler(statusCode,nil,responseData,error);
    }];
}

/**
getPipeline sync request
@param getPipelineRequest request param
@return key `statusCode` http request status code type is int
            `dataResult` the http request response data  type is NSData
            `requestError` the request error type is NSError
            `getPipelineResponse` the request response data model
*/
-(NSDictionary*) getPipelineSyncWithRequest:(PipelineGetPipelineRequest*) getPipelineRequest
{
PipelineGetPipelineExecutor* excutor = [[PipelineGetPipelineExecutor alloc] initWithJDCloudClient:self];
    NSDictionary* responseResult = [excutor executeSync:getPipelineRequest];
    if(responseResult)
    {
        NSData * resultData = [[responseResult objectForKey:@"dataResult"] copy];
        if(resultData)
        {
            NSMutableDictionary* result = [[NSMutableDictionary alloc]initWithDictionary:responseResult];
            
            NSError *jsonError;
            NSDictionary* allKeys = [NSJSONSerialization JSONObjectWithData:resultData options:0 error:&jsonError];
            if(!jsonError&& allKeys)
            {
                @try {
                    PipelineGetPipelineResponse* response = [[PipelineGetPipelineResponse alloc]initWithDic:allKeys];
                    if(response)
                    {
                        [result setValue:response forKey:@"getPipelineResponse"];
                        return result;
                    }
                } @catch (NSException *exception) {
                    if([GlobalConfig isDebug]){
                        NSLog(@"json serialize response data error,info is %@",exception.reason);
                    }
                }
            }
        }
    }
    return responseResult;
}


-(void)getPipelineAsyncWithRequest:(PipelineGetPipelineRequest*) getPipelineRequest
                       completionHandler:(void(^)(int statusCode,PipelineGetPipelineResponse* _Nullable getPipelineResponse, NSData* _Nullable responseData,NSError * _Nullable error))completionHandler
{
PipelineGetPipelineExecutor* excutor = [[PipelineGetPipelineExecutor alloc] initWithJDCloudClient:self];
    [excutor executeAsync:getPipelineRequest completionHandler:^(int statusCode, NSData * _Nullable responseData, NSError * _Nullable error) {
        if(!error&&responseData)
        {
            NSData * resultData = [responseData copy];
            NSError *jsonError;
            NSDictionary* allKeys = [NSJSONSerialization JSONObjectWithData:resultData options:0 error:&jsonError];
            if(!jsonError&& allKeys)
            {
                @try {
                    PipelineGetPipelineResponse* response = [[PipelineGetPipelineResponse alloc]initWithDic:allKeys];
                    if(response)
                    {
                        completionHandler(statusCode,response,responseData,error);
                        return;
                    }
                } @catch (NSException *exception) {
                    if([GlobalConfig isDebug]){
                        NSLog(@"json serialize response data error,info is %@",exception.reason);
                    }
                }
            }
        }
        completionHandler(statusCode,nil,responseData,error);
    }];
}

/**
getLimits sync request
@param getLimitsRequest request param
@return key `statusCode` http request status code type is int
            `dataResult` the http request response data  type is NSData
            `requestError` the request error type is NSError
            `getLimitsResponse` the request response data model
*/
-(NSDictionary*) getLimitsSyncWithRequest:(PipelineGetLimitsRequest*) getLimitsRequest
{
PipelineGetLimitsExecutor* excutor = [[PipelineGetLimitsExecutor alloc] initWithJDCloudClient:self];
    NSDictionary* responseResult = [excutor executeSync:getLimitsRequest];
    if(responseResult)
    {
        NSData * resultData = [[responseResult objectForKey:@"dataResult"] copy];
        if(resultData)
        {
            NSMutableDictionary* result = [[NSMutableDictionary alloc]initWithDictionary:responseResult];
            
            NSError *jsonError;
            NSDictionary* allKeys = [NSJSONSerialization JSONObjectWithData:resultData options:0 error:&jsonError];
            if(!jsonError&& allKeys)
            {
                @try {
                    PipelineGetLimitsResponse* response = [[PipelineGetLimitsResponse alloc]initWithDic:allKeys];
                    if(response)
                    {
                        [result setValue:response forKey:@"getLimitsResponse"];
                        return result;
                    }
                } @catch (NSException *exception) {
                    if([GlobalConfig isDebug]){
                        NSLog(@"json serialize response data error,info is %@",exception.reason);
                    }
                }
            }
        }
    }
    return responseResult;
}


-(void)getLimitsAsyncWithRequest:(PipelineGetLimitsRequest*) getLimitsRequest
                       completionHandler:(void(^)(int statusCode,PipelineGetLimitsResponse* _Nullable getLimitsResponse, NSData* _Nullable responseData,NSError * _Nullable error))completionHandler
{
PipelineGetLimitsExecutor* excutor = [[PipelineGetLimitsExecutor alloc] initWithJDCloudClient:self];
    [excutor executeAsync:getLimitsRequest completionHandler:^(int statusCode, NSData * _Nullable responseData, NSError * _Nullable error) {
        if(!error&&responseData)
        {
            NSData * resultData = [responseData copy];
            NSError *jsonError;
            NSDictionary* allKeys = [NSJSONSerialization JSONObjectWithData:resultData options:0 error:&jsonError];
            if(!jsonError&& allKeys)
            {
                @try {
                    PipelineGetLimitsResponse* response = [[PipelineGetLimitsResponse alloc]initWithDic:allKeys];
                    if(response)
                    {
                        completionHandler(statusCode,response,responseData,error);
                        return;
                    }
                } @catch (NSException *exception) {
                    if([GlobalConfig isDebug]){
                        NSLog(@"json serialize response data error,info is %@",exception.reason);
                    }
                }
            }
        }
        completionHandler(statusCode,nil,responseData,error);
    }];
}

/**
deletePipeline sync request
@param deletePipelineRequest request param
@return key `statusCode` http request status code type is int
            `dataResult` the http request response data  type is NSData
            `requestError` the request error type is NSError
            `deletePipelineResponse` the request response data model
*/
-(NSDictionary*) deletePipelineSyncWithRequest:(PipelineDeletePipelineRequest*) deletePipelineRequest
{
PipelineDeletePipelineExecutor* excutor = [[PipelineDeletePipelineExecutor alloc] initWithJDCloudClient:self];
    NSDictionary* responseResult = [excutor executeSync:deletePipelineRequest];
    if(responseResult)
    {
        NSData * resultData = [[responseResult objectForKey:@"dataResult"] copy];
        if(resultData)
        {
            NSMutableDictionary* result = [[NSMutableDictionary alloc]initWithDictionary:responseResult];
            
            NSError *jsonError;
            NSDictionary* allKeys = [NSJSONSerialization JSONObjectWithData:resultData options:0 error:&jsonError];
            if(!jsonError&& allKeys)
            {
                @try {
                    PipelineDeletePipelineResponse* response = [[PipelineDeletePipelineResponse alloc]initWithDic:allKeys];
                    if(response)
                    {
                        [result setValue:response forKey:@"deletePipelineResponse"];
                        return result;
                    }
                } @catch (NSException *exception) {
                    if([GlobalConfig isDebug]){
                        NSLog(@"json serialize response data error,info is %@",exception.reason);
                    }
                }
            }
        }
    }
    return responseResult;
}


-(void)deletePipelineAsyncWithRequest:(PipelineDeletePipelineRequest*) deletePipelineRequest
                       completionHandler:(void(^)(int statusCode,PipelineDeletePipelineResponse* _Nullable deletePipelineResponse, NSData* _Nullable responseData,NSError * _Nullable error))completionHandler
{
PipelineDeletePipelineExecutor* excutor = [[PipelineDeletePipelineExecutor alloc] initWithJDCloudClient:self];
    [excutor executeAsync:deletePipelineRequest completionHandler:^(int statusCode, NSData * _Nullable responseData, NSError * _Nullable error) {
        if(!error&&responseData)
        {
            NSData * resultData = [responseData copy];
            NSError *jsonError;
            NSDictionary* allKeys = [NSJSONSerialization JSONObjectWithData:resultData options:0 error:&jsonError];
            if(!jsonError&& allKeys)
            {
                @try {
                    PipelineDeletePipelineResponse* response = [[PipelineDeletePipelineResponse alloc]initWithDic:allKeys];
                    if(response)
                    {
                        completionHandler(statusCode,response,responseData,error);
                        return;
                    }
                } @catch (NSException *exception) {
                    if([GlobalConfig isDebug]){
                        NSLog(@"json serialize response data error,info is %@",exception.reason);
                    }
                }
            }
        }
        completionHandler(statusCode,nil,responseData,error);
    }];
}

/**
getPipelineInstances sync request
@param getPipelineInstancesRequest request param
@return key `statusCode` http request status code type is int
            `dataResult` the http request response data  type is NSData
            `requestError` the request error type is NSError
            `getPipelineInstancesResponse` the request response data model
*/
-(NSDictionary*) getPipelineInstancesSyncWithRequest:(PipelineGetPipelineInstancesRequest*) getPipelineInstancesRequest
{
PipelineGetPipelineInstancesExecutor* excutor = [[PipelineGetPipelineInstancesExecutor alloc] initWithJDCloudClient:self];
    NSDictionary* responseResult = [excutor executeSync:getPipelineInstancesRequest];
    if(responseResult)
    {
        NSData * resultData = [[responseResult objectForKey:@"dataResult"] copy];
        if(resultData)
        {
            NSMutableDictionary* result = [[NSMutableDictionary alloc]initWithDictionary:responseResult];
            
            NSError *jsonError;
            NSDictionary* allKeys = [NSJSONSerialization JSONObjectWithData:resultData options:0 error:&jsonError];
            if(!jsonError&& allKeys)
            {
                @try {
                    PipelineGetPipelineInstancesResponse* response = [[PipelineGetPipelineInstancesResponse alloc]initWithDic:allKeys];
                    if(response)
                    {
                        [result setValue:response forKey:@"getPipelineInstancesResponse"];
                        return result;
                    }
                } @catch (NSException *exception) {
                    if([GlobalConfig isDebug]){
                        NSLog(@"json serialize response data error,info is %@",exception.reason);
                    }
                }
            }
        }
    }
    return responseResult;
}


-(void)getPipelineInstancesAsyncWithRequest:(PipelineGetPipelineInstancesRequest*) getPipelineInstancesRequest
                       completionHandler:(void(^)(int statusCode,PipelineGetPipelineInstancesResponse* _Nullable getPipelineInstancesResponse, NSData* _Nullable responseData,NSError * _Nullable error))completionHandler
{
PipelineGetPipelineInstancesExecutor* excutor = [[PipelineGetPipelineInstancesExecutor alloc] initWithJDCloudClient:self];
    [excutor executeAsync:getPipelineInstancesRequest completionHandler:^(int statusCode, NSData * _Nullable responseData, NSError * _Nullable error) {
        if(!error&&responseData)
        {
            NSData * resultData = [responseData copy];
            NSError *jsonError;
            NSDictionary* allKeys = [NSJSONSerialization JSONObjectWithData:resultData options:0 error:&jsonError];
            if(!jsonError&& allKeys)
            {
                @try {
                    PipelineGetPipelineInstancesResponse* response = [[PipelineGetPipelineInstancesResponse alloc]initWithDic:allKeys];
                    if(response)
                    {
                        completionHandler(statusCode,response,responseData,error);
                        return;
                    }
                } @catch (NSException *exception) {
                    if([GlobalConfig isDebug]){
                        NSLog(@"json serialize response data error,info is %@",exception.reason);
                    }
                }
            }
        }
        completionHandler(statusCode,nil,responseData,error);
    }];
}

/**
manualAction sync request
@param manualActionRequest request param
@return key `statusCode` http request status code type is int
            `dataResult` the http request response data  type is NSData
            `requestError` the request error type is NSError
            `manualActionResponse` the request response data model
*/
-(NSDictionary*) manualActionSyncWithRequest:(PipelineManualActionRequest*) manualActionRequest
{
PipelineManualActionExecutor* excutor = [[PipelineManualActionExecutor alloc] initWithJDCloudClient:self];
    NSDictionary* responseResult = [excutor executeSync:manualActionRequest];
    if(responseResult)
    {
        NSData * resultData = [[responseResult objectForKey:@"dataResult"] copy];
        if(resultData)
        {
            NSMutableDictionary* result = [[NSMutableDictionary alloc]initWithDictionary:responseResult];
            
            NSError *jsonError;
            NSDictionary* allKeys = [NSJSONSerialization JSONObjectWithData:resultData options:0 error:&jsonError];
            if(!jsonError&& allKeys)
            {
                @try {
                    PipelineManualActionResponse* response = [[PipelineManualActionResponse alloc]initWithDic:allKeys];
                    if(response)
                    {
                        [result setValue:response forKey:@"manualActionResponse"];
                        return result;
                    }
                } @catch (NSException *exception) {
                    if([GlobalConfig isDebug]){
                        NSLog(@"json serialize response data error,info is %@",exception.reason);
                    }
                }
            }
        }
    }
    return responseResult;
}


-(void)manualActionAsyncWithRequest:(PipelineManualActionRequest*) manualActionRequest
                       completionHandler:(void(^)(int statusCode,PipelineManualActionResponse* _Nullable manualActionResponse, NSData* _Nullable responseData,NSError * _Nullable error))completionHandler
{
PipelineManualActionExecutor* excutor = [[PipelineManualActionExecutor alloc] initWithJDCloudClient:self];
    [excutor executeAsync:manualActionRequest completionHandler:^(int statusCode, NSData * _Nullable responseData, NSError * _Nullable error) {
        if(!error&&responseData)
        {
            NSData * resultData = [responseData copy];
            NSError *jsonError;
            NSDictionary* allKeys = [NSJSONSerialization JSONObjectWithData:resultData options:0 error:&jsonError];
            if(!jsonError&& allKeys)
            {
                @try {
                    PipelineManualActionResponse* response = [[PipelineManualActionResponse alloc]initWithDic:allKeys];
                    if(response)
                    {
                        completionHandler(statusCode,response,responseData,error);
                        return;
                    }
                } @catch (NSException *exception) {
                    if([GlobalConfig isDebug]){
                        NSLog(@"json serialize response data error,info is %@",exception.reason);
                    }
                }
            }
        }
        completionHandler(statusCode,nil,responseData,error);
    }];
}

/**
getPipelineInstance sync request
@param getPipelineInstanceRequest request param
@return key `statusCode` http request status code type is int
            `dataResult` the http request response data  type is NSData
            `requestError` the request error type is NSError
            `getPipelineInstanceResponse` the request response data model
*/
-(NSDictionary*) getPipelineInstanceSyncWithRequest:(PipelineGetPipelineInstanceRequest*) getPipelineInstanceRequest
{
PipelineGetPipelineInstanceExecutor* excutor = [[PipelineGetPipelineInstanceExecutor alloc] initWithJDCloudClient:self];
    NSDictionary* responseResult = [excutor executeSync:getPipelineInstanceRequest];
    if(responseResult)
    {
        NSData * resultData = [[responseResult objectForKey:@"dataResult"] copy];
        if(resultData)
        {
            NSMutableDictionary* result = [[NSMutableDictionary alloc]initWithDictionary:responseResult];
            
            NSError *jsonError;
            NSDictionary* allKeys = [NSJSONSerialization JSONObjectWithData:resultData options:0 error:&jsonError];
            if(!jsonError&& allKeys)
            {
                @try {
                    PipelineGetPipelineInstanceResponse* response = [[PipelineGetPipelineInstanceResponse alloc]initWithDic:allKeys];
                    if(response)
                    {
                        [result setValue:response forKey:@"getPipelineInstanceResponse"];
                        return result;
                    }
                } @catch (NSException *exception) {
                    if([GlobalConfig isDebug]){
                        NSLog(@"json serialize response data error,info is %@",exception.reason);
                    }
                }
            }
        }
    }
    return responseResult;
}


-(void)getPipelineInstanceAsyncWithRequest:(PipelineGetPipelineInstanceRequest*) getPipelineInstanceRequest
                       completionHandler:(void(^)(int statusCode,PipelineGetPipelineInstanceResponse* _Nullable getPipelineInstanceResponse, NSData* _Nullable responseData,NSError * _Nullable error))completionHandler
{
PipelineGetPipelineInstanceExecutor* excutor = [[PipelineGetPipelineInstanceExecutor alloc] initWithJDCloudClient:self];
    [excutor executeAsync:getPipelineInstanceRequest completionHandler:^(int statusCode, NSData * _Nullable responseData, NSError * _Nullable error) {
        if(!error&&responseData)
        {
            NSData * resultData = [responseData copy];
            NSError *jsonError;
            NSDictionary* allKeys = [NSJSONSerialization JSONObjectWithData:resultData options:0 error:&jsonError];
            if(!jsonError&& allKeys)
            {
                @try {
                    PipelineGetPipelineInstanceResponse* response = [[PipelineGetPipelineInstanceResponse alloc]initWithDic:allKeys];
                    if(response)
                    {
                        completionHandler(statusCode,response,responseData,error);
                        return;
                    }
                } @catch (NSException *exception) {
                    if([GlobalConfig isDebug]){
                        NSLog(@"json serialize response data error,info is %@",exception.reason);
                    }
                }
            }
        }
        completionHandler(statusCode,nil,responseData,error);
    }];
}

/**
stopPipelineInstance sync request
@param stopPipelineInstanceRequest request param
@return key `statusCode` http request status code type is int
            `dataResult` the http request response data  type is NSData
            `requestError` the request error type is NSError
            `stopPipelineInstanceResponse` the request response data model
*/
-(NSDictionary*) stopPipelineInstanceSyncWithRequest:(PipelineStopPipelineInstanceRequest*) stopPipelineInstanceRequest
{
PipelineStopPipelineInstanceExecutor* excutor = [[PipelineStopPipelineInstanceExecutor alloc] initWithJDCloudClient:self];
    NSDictionary* responseResult = [excutor executeSync:stopPipelineInstanceRequest];
    if(responseResult)
    {
        NSData * resultData = [[responseResult objectForKey:@"dataResult"] copy];
        if(resultData)
        {
            NSMutableDictionary* result = [[NSMutableDictionary alloc]initWithDictionary:responseResult];
            
            NSError *jsonError;
            NSDictionary* allKeys = [NSJSONSerialization JSONObjectWithData:resultData options:0 error:&jsonError];
            if(!jsonError&& allKeys)
            {
                @try {
                    PipelineStopPipelineInstanceResponse* response = [[PipelineStopPipelineInstanceResponse alloc]initWithDic:allKeys];
                    if(response)
                    {
                        [result setValue:response forKey:@"stopPipelineInstanceResponse"];
                        return result;
                    }
                } @catch (NSException *exception) {
                    if([GlobalConfig isDebug]){
                        NSLog(@"json serialize response data error,info is %@",exception.reason);
                    }
                }
            }
        }
    }
    return responseResult;
}


-(void)stopPipelineInstanceAsyncWithRequest:(PipelineStopPipelineInstanceRequest*) stopPipelineInstanceRequest
                       completionHandler:(void(^)(int statusCode,PipelineStopPipelineInstanceResponse* _Nullable stopPipelineInstanceResponse, NSData* _Nullable responseData,NSError * _Nullable error))completionHandler
{
PipelineStopPipelineInstanceExecutor* excutor = [[PipelineStopPipelineInstanceExecutor alloc] initWithJDCloudClient:self];
    [excutor executeAsync:stopPipelineInstanceRequest completionHandler:^(int statusCode, NSData * _Nullable responseData, NSError * _Nullable error) {
        if(!error&&responseData)
        {
            NSData * resultData = [responseData copy];
            NSError *jsonError;
            NSDictionary* allKeys = [NSJSONSerialization JSONObjectWithData:resultData options:0 error:&jsonError];
            if(!jsonError&& allKeys)
            {
                @try {
                    PipelineStopPipelineInstanceResponse* response = [[PipelineStopPipelineInstanceResponse alloc]initWithDic:allKeys];
                    if(response)
                    {
                        completionHandler(statusCode,response,responseData,error);
                        return;
                    }
                } @catch (NSException *exception) {
                    if([GlobalConfig isDebug]){
                        NSLog(@"json serialize response data error,info is %@",exception.reason);
                    }
                }
            }
        }
        completionHandler(statusCode,nil,responseData,error);
    }];
}

/**
getSourceProviders sync request
@param getSourceProvidersRequest request param
@return key `statusCode` http request status code type is int
            `dataResult` the http request response data  type is NSData
            `requestError` the request error type is NSError
            `getSourceProvidersResponse` the request response data model
*/
-(NSDictionary*) getSourceProvidersSyncWithRequest:(PipelineGetSourceProvidersRequest*) getSourceProvidersRequest
{
PipelineGetSourceProvidersExecutor* excutor = [[PipelineGetSourceProvidersExecutor alloc] initWithJDCloudClient:self];
    NSDictionary* responseResult = [excutor executeSync:getSourceProvidersRequest];
    if(responseResult)
    {
        NSData * resultData = [[responseResult objectForKey:@"dataResult"] copy];
        if(resultData)
        {
            NSMutableDictionary* result = [[NSMutableDictionary alloc]initWithDictionary:responseResult];
            
            NSError *jsonError;
            NSDictionary* allKeys = [NSJSONSerialization JSONObjectWithData:resultData options:0 error:&jsonError];
            if(!jsonError&& allKeys)
            {
                @try {
                    PipelineGetSourceProvidersResponse* response = [[PipelineGetSourceProvidersResponse alloc]initWithDic:allKeys];
                    if(response)
                    {
                        [result setValue:response forKey:@"getSourceProvidersResponse"];
                        return result;
                    }
                } @catch (NSException *exception) {
                    if([GlobalConfig isDebug]){
                        NSLog(@"json serialize response data error,info is %@",exception.reason);
                    }
                }
            }
        }
    }
    return responseResult;
}


-(void)getSourceProvidersAsyncWithRequest:(PipelineGetSourceProvidersRequest*) getSourceProvidersRequest
                       completionHandler:(void(^)(int statusCode,PipelineGetSourceProvidersResponse* _Nullable getSourceProvidersResponse, NSData* _Nullable responseData,NSError * _Nullable error))completionHandler
{
PipelineGetSourceProvidersExecutor* excutor = [[PipelineGetSourceProvidersExecutor alloc] initWithJDCloudClient:self];
    [excutor executeAsync:getSourceProvidersRequest completionHandler:^(int statusCode, NSData * _Nullable responseData, NSError * _Nullable error) {
        if(!error&&responseData)
        {
            NSData * resultData = [responseData copy];
            NSError *jsonError;
            NSDictionary* allKeys = [NSJSONSerialization JSONObjectWithData:resultData options:0 error:&jsonError];
            if(!jsonError&& allKeys)
            {
                @try {
                    PipelineGetSourceProvidersResponse* response = [[PipelineGetSourceProvidersResponse alloc]initWithDic:allKeys];
                    if(response)
                    {
                        completionHandler(statusCode,response,responseData,error);
                        return;
                    }
                } @catch (NSException *exception) {
                    if([GlobalConfig isDebug]){
                        NSLog(@"json serialize response data error,info is %@",exception.reason);
                    }
                }
            }
        }
        completionHandler(statusCode,nil,responseData,error);
    }];
}

/**
getOperationProviders sync request
@param getOperationProvidersRequest request param
@return key `statusCode` http request status code type is int
            `dataResult` the http request response data  type is NSData
            `requestError` the request error type is NSError
            `getOperationProvidersResponse` the request response data model
*/
-(NSDictionary*) getOperationProvidersSyncWithRequest:(PipelineGetOperationProvidersRequest*) getOperationProvidersRequest
{
PipelineGetOperationProvidersExecutor* excutor = [[PipelineGetOperationProvidersExecutor alloc] initWithJDCloudClient:self];
    NSDictionary* responseResult = [excutor executeSync:getOperationProvidersRequest];
    if(responseResult)
    {
        NSData * resultData = [[responseResult objectForKey:@"dataResult"] copy];
        if(resultData)
        {
            NSMutableDictionary* result = [[NSMutableDictionary alloc]initWithDictionary:responseResult];
            
            NSError *jsonError;
            NSDictionary* allKeys = [NSJSONSerialization JSONObjectWithData:resultData options:0 error:&jsonError];
            if(!jsonError&& allKeys)
            {
                @try {
                    PipelineGetOperationProvidersResponse* response = [[PipelineGetOperationProvidersResponse alloc]initWithDic:allKeys];
                    if(response)
                    {
                        [result setValue:response forKey:@"getOperationProvidersResponse"];
                        return result;
                    }
                } @catch (NSException *exception) {
                    if([GlobalConfig isDebug]){
                        NSLog(@"json serialize response data error,info is %@",exception.reason);
                    }
                }
            }
        }
    }
    return responseResult;
}


-(void)getOperationProvidersAsyncWithRequest:(PipelineGetOperationProvidersRequest*) getOperationProvidersRequest
                       completionHandler:(void(^)(int statusCode,PipelineGetOperationProvidersResponse* _Nullable getOperationProvidersResponse, NSData* _Nullable responseData,NSError * _Nullable error))completionHandler
{
PipelineGetOperationProvidersExecutor* excutor = [[PipelineGetOperationProvidersExecutor alloc] initWithJDCloudClient:self];
    [excutor executeAsync:getOperationProvidersRequest completionHandler:^(int statusCode, NSData * _Nullable responseData, NSError * _Nullable error) {
        if(!error&&responseData)
        {
            NSData * resultData = [responseData copy];
            NSError *jsonError;
            NSDictionary* allKeys = [NSJSONSerialization JSONObjectWithData:resultData options:0 error:&jsonError];
            if(!jsonError&& allKeys)
            {
                @try {
                    PipelineGetOperationProvidersResponse* response = [[PipelineGetOperationProvidersResponse alloc]initWithDic:allKeys];
                    if(response)
                    {
                        completionHandler(statusCode,response,responseData,error);
                        return;
                    }
                } @catch (NSException *exception) {
                    if([GlobalConfig isDebug]){
                        NSLog(@"json serialize response data error,info is %@",exception.reason);
                    }
                }
            }
        }
        completionHandler(statusCode,nil,responseData,error);
    }];
}

/**
getPipelineInstancesByUuids sync request
@param getPipelineInstancesByUuidsRequest request param
@return key `statusCode` http request status code type is int
            `dataResult` the http request response data  type is NSData
            `requestError` the request error type is NSError
            `getPipelineInstancesByUuidsResponse` the request response data model
*/
-(NSDictionary*) getPipelineInstancesByUuidsSyncWithRequest:(PipelineGetPipelineInstancesByUuidsRequest*) getPipelineInstancesByUuidsRequest
{
PipelineGetPipelineInstancesByUuidsExecutor* excutor = [[PipelineGetPipelineInstancesByUuidsExecutor alloc] initWithJDCloudClient:self];
    NSDictionary* responseResult = [excutor executeSync:getPipelineInstancesByUuidsRequest];
    if(responseResult)
    {
        NSData * resultData = [[responseResult objectForKey:@"dataResult"] copy];
        if(resultData)
        {
            NSMutableDictionary* result = [[NSMutableDictionary alloc]initWithDictionary:responseResult];
            
            NSError *jsonError;
            NSDictionary* allKeys = [NSJSONSerialization JSONObjectWithData:resultData options:0 error:&jsonError];
            if(!jsonError&& allKeys)
            {
                @try {
                    PipelineGetPipelineInstancesByUuidsResponse* response = [[PipelineGetPipelineInstancesByUuidsResponse alloc]initWithDic:allKeys];
                    if(response)
                    {
                        [result setValue:response forKey:@"getPipelineInstancesByUuidsResponse"];
                        return result;
                    }
                } @catch (NSException *exception) {
                    if([GlobalConfig isDebug]){
                        NSLog(@"json serialize response data error,info is %@",exception.reason);
                    }
                }
            }
        }
    }
    return responseResult;
}


-(void)getPipelineInstancesByUuidsAsyncWithRequest:(PipelineGetPipelineInstancesByUuidsRequest*) getPipelineInstancesByUuidsRequest
                       completionHandler:(void(^)(int statusCode,PipelineGetPipelineInstancesByUuidsResponse* _Nullable getPipelineInstancesByUuidsResponse, NSData* _Nullable responseData,NSError * _Nullable error))completionHandler
{
PipelineGetPipelineInstancesByUuidsExecutor* excutor = [[PipelineGetPipelineInstancesByUuidsExecutor alloc] initWithJDCloudClient:self];
    [excutor executeAsync:getPipelineInstancesByUuidsRequest completionHandler:^(int statusCode, NSData * _Nullable responseData, NSError * _Nullable error) {
        if(!error&&responseData)
        {
            NSData * resultData = [responseData copy];
            NSError *jsonError;
            NSDictionary* allKeys = [NSJSONSerialization JSONObjectWithData:resultData options:0 error:&jsonError];
            if(!jsonError&& allKeys)
            {
                @try {
                    PipelineGetPipelineInstancesByUuidsResponse* response = [[PipelineGetPipelineInstancesByUuidsResponse alloc]initWithDic:allKeys];
                    if(response)
                    {
                        completionHandler(statusCode,response,responseData,error);
                        return;
                    }
                } @catch (NSException *exception) {
                    if([GlobalConfig isDebug]){
                        NSLog(@"json serialize response data error,info is %@",exception.reason);
                    }
                }
            }
        }
        completionHandler(statusCode,nil,responseData,error);
    }];
}

/**
getRegions sync request
@param getRegionsRequest request param
@return key `statusCode` http request status code type is int
            `dataResult` the http request response data  type is NSData
            `requestError` the request error type is NSError
            `getRegionsResponse` the request response data model
*/
-(NSDictionary*) getRegionsSyncWithRequest:(PipelineGetRegionsRequest*) getRegionsRequest
{
PipelineGetRegionsExecutor* excutor = [[PipelineGetRegionsExecutor alloc] initWithJDCloudClient:self];
    NSDictionary* responseResult = [excutor executeSync:getRegionsRequest];
    if(responseResult)
    {
        NSData * resultData = [[responseResult objectForKey:@"dataResult"] copy];
        if(resultData)
        {
            NSMutableDictionary* result = [[NSMutableDictionary alloc]initWithDictionary:responseResult];
            
            NSError *jsonError;
            NSDictionary* allKeys = [NSJSONSerialization JSONObjectWithData:resultData options:0 error:&jsonError];
            if(!jsonError&& allKeys)
            {
                @try {
                    PipelineGetRegionsResponse* response = [[PipelineGetRegionsResponse alloc]initWithDic:allKeys];
                    if(response)
                    {
                        [result setValue:response forKey:@"getRegionsResponse"];
                        return result;
                    }
                } @catch (NSException *exception) {
                    if([GlobalConfig isDebug]){
                        NSLog(@"json serialize response data error,info is %@",exception.reason);
                    }
                }
            }
        }
    }
    return responseResult;
}


-(void)getRegionsAsyncWithRequest:(PipelineGetRegionsRequest*) getRegionsRequest
                       completionHandler:(void(^)(int statusCode,PipelineGetRegionsResponse* _Nullable getRegionsResponse, NSData* _Nullable responseData,NSError * _Nullable error))completionHandler
{
PipelineGetRegionsExecutor* excutor = [[PipelineGetRegionsExecutor alloc] initWithJDCloudClient:self];
    [excutor executeAsync:getRegionsRequest completionHandler:^(int statusCode, NSData * _Nullable responseData, NSError * _Nullable error) {
        if(!error&&responseData)
        {
            NSData * resultData = [responseData copy];
            NSError *jsonError;
            NSDictionary* allKeys = [NSJSONSerialization JSONObjectWithData:resultData options:0 error:&jsonError];
            if(!jsonError&& allKeys)
            {
                @try {
                    PipelineGetRegionsResponse* response = [[PipelineGetRegionsResponse alloc]initWithDic:allKeys];
                    if(response)
                    {
                        completionHandler(statusCode,response,responseData,error);
                        return;
                    }
                } @catch (NSException *exception) {
                    if([GlobalConfig isDebug]){
                        NSLog(@"json serialize response data error,info is %@",exception.reason);
                    }
                }
            }
        }
        completionHandler(statusCode,nil,responseData,error);
    }];
}


 /**
 pipeline common sync request
 @param  jdcloudDataRequest request param
 @return key `statusCode` http request status code type is int
             `dataResult` the http request response data  type is NSData
             `requestError` the request error type is NSError
 */
 -(NSDictionary*) pipelineCommonSyncWithRequest:(JDCloudDataRequest*) jdcloudDataRequest
                                                   url:(NSString*) url
                                                method:(NSString*) method{
    CommonExecutor* excutor = [[CommonExecutor alloc] initWithJDCloudClient:self url:url method:method];
    NSDictionary* responseResult = [excutor executeDataSync:jdcloudDataRequest];
    return responseResult;
}

-(void)pipelineCommonAsyncWithRequest:(JDCloudDataRequest*) jdcloudDataRequest
                                         url:(NSString*) url
                                      method:(NSString*) method
                           completionHandler:(void(^)(int statusCode, NSData* _Nullable responseData,NSError * _Nullable error))completionHandler
{
     CommonExecutor* excutor = [[CommonExecutor alloc] initWithJDCloudClient:self url:url method:method];
    
    [excutor executeDataAsync:jdcloudDataRequest completionHandler:^(int statusCode, NSData * _Nullable responseData, NSError * _Nullable error) {
        completionHandler(statusCode,responseData,error);
    }];
} 

@end
